/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package BD;

import java.sql.*;

/**
 *
 * @author Andreina Wilhelm
 */
public class BaseDatos {

    private Connection conexion;
    private Statement stmt;

    
    /* Constructor */
    public void BaseDatos() {
        conexion = null;
    }

    
    /* Metodo para conectarse a la base de datos */
    public Connection establecerConexion() {
        String url = "jdbc:postgresql://localhost:5433/equivalencia";
        String usuario = "postgres";
        String clave = "postgres";

        try {
            Class.forName("org.postgresql.Driver");
            conexion = DriverManager.getConnection(url, usuario, clave);

        } catch (Exception e) {
            System.out.println("ERROR: Problema al conectarse a la base de datos.");
        }
        return conexion;
    }
    

    // funcion usada para consultar BD
    public ResultSet ejecutarQuery(String query) {
        ResultSet result = null;
        try {
            // se crea un stament
            stmt = conexion.createStatement();

            // se ejecuta query
            result = stmt.executeQuery(query);

        } catch (Exception e) {
            System.out.println("ERROR: Problema al ejecutar el query.");
        }
        return result;
    }
    

    // funcion usada para agregar, modificar y eliminar
    public boolean updateQuery(String query) {
        try {
            // se crea un stament
            stmt = conexion.createStatement();

            // se ejecuta query
            stmt.executeUpdate(query);

            return true;
        } catch (Exception e) {
            System.out.println("\nERROR: Problema al ejecutar el query!\n");
             return false;
        }       
    }
    

    /* Metodo para desconectarse de la base de datos */
    public void terminarConexion() {
        try {
            stmt.close();
            conexion.close();
        } catch (Exception e) {
            System.out.println("ERROR: Problema al desconectarse de la base de datos");
        }
    }
}
